package unit04.day05;
/**
 * 静态方法的同步
 * 当一个静态方法被sunchronized修饰后，那么该方法即为同步方法，由于静态方法从属类，全局就一份，所以同步的静态方法一定具有同步效果。与对象无关
 *
 */
public class SyncDemo3 {

	public static void main(String[] args) {
		Foo f1 = new Foo();
		Foo f2 = new Foo();
		Thread t1 = new Thread() {
			public void run() {
				f1.dosome();//与对象无关
			}
		};
		Thread t2 = new Thread() {
			public void run() {
				Foo.dosome();
			}
		};
		t1.start();
		t2.start();
	}

}
class Foo{
	public synchronized static void dosome() {
		try {
			Thread t = Thread.currentThread();
			System.out.println(t+":方法正在运行");
			Thread.sleep(3000);
			System.out.println(t+":运行完毕");
		} catch (InterruptedException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
	}
}